"""
@name : 局域网存活ip地址检测
@author : wangshenghu
@projectname: tlbb
@Date  : 2022/4/9
"""
"""
局域网存活IP检测 
预备知识：python执行系统命令模块（subprocess）、IP地址处理模块（IPy） 
输入内容：要检查的网段、子网掩码 (输入：192.168.0.0/24) 
输出示例： 192.168.0.1已被使用 
将输出结果放到文件
将可能存在异常的地方需要做相应处理
"""
import subprocess
from IPy import  IP
ip = IP("192.168.0.0/24")
for i in ip:
    result = subprocess.call(f"ping -c 1 {i} ", shell=True, stdout=subprocess.PIPE)
    # 返回结果为0则代表ping通了，非0就是没有ping通。
    if result == 0:
        out = f"{i}已经被使用" + "\n"
    else:
        out = f"{i}没有被使用" + "\n"
    # 将输出结果写入文件里面
    with open("scan_ip.txt", "a", encoding="utf-8") as fe:
        fe.write(out)
